//
// Created by zsago on 01/06/21.
//

#ifndef LIBYUV_LIBYUV_TEST_H
#define LIBYUV_LIBYUV_TEST_H

#include <jni.h>
#include <android/log.h>
#include <libyuv.h>

#ifdef __cplusplus
namespace libyuv {
    extern "C" {
#endif

    JNIEXPORT void JNICALL
    Java_com_andova_libyuv_LibYUV_00024Companion_TestAndroid420ToI420(JNIEnv *env, jobject,
                                                                      jbyteArray src_y, jbyteArray src_u, jbyteArray src_v,
                                                                      jbyteArray dst_y, jbyteArray dst_u, jbyteArray dst_v,
                                                                      jint width, jint height);

    JNIEXPORT void JNICALL
    Java_com_andova_libyuv_LibYUV_00024Companion_TestI422ToI420(JNIEnv *env, jobject,
                                                                jbyteArray src_y, jbyteArray src_u, jbyteArray src_v,
                                                                jbyteArray dst_y, jbyteArray dst_u, jbyteArray dst_v,
                                                                jint width, jint height);

    JNIEXPORT void JNICALL
    Java_com_andova_libyuv_LibYUV_00024Companion_TestI444ToI420(JNIEnv *env, jobject,
                                                                jbyteArray src_y, jbyteArray src_u, jbyteArray src_v,
                                                                jbyteArray dst_y, jbyteArray dst_u, jbyteArray dst_v,
                                                                jint width, jint height);

    JNIEXPORT void JNICALL
    Java_com_andova_libyuv_LibYUV_00024Companion_TestI420ToNV21(JNIEnv *env, jobject,
                                                                jbyteArray src_y, jbyteArray src_u, jbyteArray src_v,
                                                                jbyteArray dst_yuv, jint width, jint height);

    JNIEXPORT void JNICALL
    Java_com_andova_libyuv_LibYUV_00024Companion_TestNV21ToI420(JNIEnv *env, jobject,
                                                                jbyteArray src_y, jbyteArray dst_y, jbyteArray dst_u, jbyteArray dst_v,
                                                                jint width, jint height);

    JNIEXPORT void JNICALL
    Java_com_andova_libyuv_LibYUV_00024Companion_TestHalfMergeUVPlane(JNIEnv *env, jobject,
                                                                      jbyteArray src_u, jbyteArray src_v, jbyteArray dst_uv,
                                                                      jint width, jint height);

#ifdef __cplusplus
    }
}
#endif

#endif //LIBYUV_LIBYUV_TEST_H
